1. Field of the Invention
The invention is generally directed to the problem of rendering graphic images by way of a bit-mapped display means or on bit-mapped media. The invention is more specifically directed to the problem of providing anti-aliasing effects for curved and/or slanted edges of a bit-mapped image.
2. Description of the Related Art
A problem develops when characters such as the Roman letters "A", "B", "C", etc., or other glyphs having slanted and/or curved portions are to be rendered in near-typeset quality by way of a bit-mapped rendering apparatus (e.g. a raster-based CRT or a laser printer). The slanted and/or curved edge portions of the images can not be rendered in ideal form if the resolution of the bit-mapped rendering apparatus or the resolution of a corresponding, bit-mapped display media is below a very high value (e.g., below 1,000 dots per inch).
The finite resolution of many bit-mapped rendering devices (e.g., CRT's, dot-matrix or laser printers) can give the rendition of the slanted and/or curved portions of glyphs such as "A", "B", "C", a jagged appearance instead of a desired smooth appearance.
A variety of techniques have been proposed for minimizing the jagged appearance. Such techniques are generally referred to as "anti-aliasing".
One form of anti-aliasing, which is referred to here as "grayscaling", modulates the intensity or gray scale value of certain individual pixels in a bit-mapped rendition when such pixels are found at and/or near slanted/curved edges of an image. The intensity modulation gives such edges a smooth appearance.
Another form of anti-aliasing, which is referred to here as "fuzzy-font", uses a dither-like methodology. Selected pixels are turned on or off, at and/or near slanted/curved edges to give such edges a "fuzzy" or "hairy" appearance. The human eye is fooled into perceiving fuzzied edges as being "smooth" even though close (e.g., microscopic) inspection would show that such edges contain jagged features.
It is to be understood that the above-described forms are merely examples rather than an exhaustive definition of "anti-aliasing". Those skilled in the art will appreciate the term "anti-aliasing" to be one which covers a broad range of techniques and/or combinations of techniques that are used in the bit-mapped imaging arts to fool the human eye into perceiving smooth rather than jagged contours. Anti-aliasing includes the processes of determining which pixels are to be turned on or off in order to minimize a jagged appearance, as well as determining in the case where a pixel is turned on, what intensity or other attribute (e.g., partial cover area or position offset) is to be further activated for that pixel in order to better minimize any undesired jagged appearances in the overall image.
Previous anti-aliasing approaches have been burdened by the problems of: (a) over-complexity and (b) excessive execution time. Sets of relatively complex, pattern recognition and decision-making rules are typically constructed for letting a computer decide which pixels of the bit-mapped rendering apparatus or display medium are to be turned on or off, and if turned on, at what intensity, size, and/or other anti-alias providing level.
Intensity modulation (grayscaling) is commonly used in CRT displays (cathode ray tubes) and the like where a "z" control is available for convenient modulation of dot intensity independently of "x" and "y" dot placement controls. Dot size modulation is typically used by laser printers and like display means that do not have an independent "z" control.
Over-complexity is disadvantageous in anti-aliasing because it leads to excessive consumption of computer memory space and/or computer hardware resources for the storage and execution of overly-complex rules.
Over-complexity is additionally disadvantageous because it tends to increase execution time. The execution time of a digital processing unit in providing an anti-aliasing effect can become burdensome when the print-out or other display of a to-be-rendered image contains many hundreds or thousands of characters/glyphs, each requiring anti-aliasing. A person who is waiting for the print out or other display output may find it annoying to wait so long. The problem is particularly pervasive for long documents presented in glyphic-intensive scripts such as Japanese Kanji.